home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Speccy ClassiX 1998
/
Speccy ClassiX 98.iso
/
amiga_system
/
the_aminet
/
dev
/
e
/
jrhrkrm2.lzh
/
Src
/
Tools
/
InitHook
/
inithook.e
Wrap
Text File
|
1995-09-20
|
662b
|
27 lines
OPT MODULE
MODULE 'utility/hooks'
EXPORT PROC inithook(hook:PTR TO hook, func, data=NIL)
hook.subentry:=func
hook.entry:={hookentry}
hook.data:=data
LEA.L storeA4(PC), A0 -> Copy A4 to safe place
MOVE.L A4, (A0)
ENDPROC hook
storeA4:
LONG 0
hookentry:
MOVEM.L D2-D7/A2-A6,-(A7) -> Save regs
MOVE.L A0,-(A7) -> Stuff parameters on stack for proc call
MOVE.L A2,-(A7)
MOVE.L A1,-(A7)
MOVE.L storeA4(PC), A4 -> Reinstate A4
MOVE.L 12(A0),A0 -> Get sub-entry
JSR (A0) -> Execute function
LEA 12(A7),A7 -> Remove parameters
MOVEM.L (A7)+,D2-D7/A2-A6 -> Restore regs
RTS